
/**
  ******************************************************************************
  * @file    LED.c 
  * @author  MCD Application Team
  * @version V1.1.0
  * @date    2024.11.21
  * @brief   LCD的初始化，以及LCD的置位和复位    (低电平点亮）
			 LED1 引脚 PF9
			 LED2 引脚 PF10
			 LED3 引脚 PE13
			 LED4 引脚 PE14
  ******************************************************************************
  * @attention
  *
  * 
  *
  ******************************************************************************
  */

/* Includes ------------------------------------------------------------------*/
  #include"LED.h"
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/

/**
 * @brief LCD初始化
 * 
 */
void LCD_Init(void)
{
	//定义GPIO结构体
	GPIO_InitTypeDef  GPIO_LCD;
	
	//使能GPIO时钟
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
	
	//配置GPIO(对结构体赋值)
	GPIO_LCD.GPIO_Mode = GPIO_Mode_OUT;
	GPIO_LCD.GPIO_OType = GPIO_OType_PP;
	GPIO_LCD.GPIO_Speed = GPIO_Speed_100MHz;
	GPIO_LCD.GPIO_PuPd = GPIO_PuPd_NOPULL;
	
   //初始化GPIO
	GPIO_LCD.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
	GPIO_Init(GPIOF, &GPIO_LCD);
	GPIO_LCD.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14;
	GPIO_Init(GPIOE, &GPIO_LCD);
	
   //置位(初始化开始状态)
	GPIOF->BSRRL= GPIO_Pin_9;
	GPIOF->BSRRL= GPIO_Pin_10;
	GPIOE->BSRRL= GPIO_Pin_13;
	GPIOE->BSRRL= GPIO_Pin_14;
	
}

/**
 * @brief LED1复位
 * 
 */
void LED1_on(void)
{
    //GPIOF->BSRRL= GPIO_Pin_9;  //寄存器置位
	GPIO_SetBits(GPIOF,GPIO_Pin_9);
}

/**
 * @brief LED1置位
 * 
 */
void LED1_off(void)
{
   GPIOF->BSRRH= GPIO_Pin_9;
}

/**
 * @brief LED2复位
 * 
 */
void LED2_on(void)
{
    GPIOF->BSRRL= GPIO_Pin_10;
}

/**
 * @brief LED2置位
 * 
 */
void LED2_off(void)
{
   GPIOF->BSRRH= GPIO_Pin_10;
}

/**
 * @brief LED3复位
 * 
 */
void LED3_on(void)
{
    GPIOE->BSRRL= GPIO_Pin_13;
}

/**
 * @brief LED3置位
 * 
 */
void LED3_off(void)
{
   GPIOE->BSRRH= GPIO_Pin_13;
}

/**
 * @brief LED4复位
 * 
 */
void LED4_on(void)
{
   GPIOE->BSRRL= GPIO_Pin_14;
}

/**
 * @brief LED4置位
 * 
 */
void LED4_off(void)
{
   GPIOE->BSRRH= GPIO_Pin_14;
}

